package com.sise.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author zj
 */
@Data
@Accessors(chain = true)
public class ProductInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 商品id
     */
    @TableId(value = "product_id", type = IdType.AUTO)
    private Integer productId;

    /**
     * 商铺id
     */
    @TableField("store_id")
    private Integer storeId;

    /**
     * 商品类型id
     */
    @TableField("product_type_id")
    private Integer productTypeId;

    /**
     * 商品类别
     */
    @TableField("product_category")
    private String productCategory;

    /**
     * 商品名称
     */
    @TableField("product_name")
    private String productName;

    /**
     * 商品价格
     */
    @TableField("product_price")
    private BigDecimal productPrice;

    /**
     * 商品库存
     */
    @TableField("product_stock")
    private Integer productStock;

    /**
     * 商品图标
     */
    @TableField("product_icon")
    private String productIcon;

    /**
     * 商品描述
     */
    @TableField("product_description")
    private String productDescription;

    /**
     * 商品状态：上架，下架
     */
    @TableField("product_status")
    private String productStatus;

    /**
     * 商品月销量
     */
    @TableField("product_month_sales")
    private Integer productMonthSales;

    /**
     * 商品好评率，最高5分
     */
    @TableField("product_praise_rate")
    private Float productPraiseRate;

    /**
     * 商品点赞数
     */
    @TableField("product_like_count")
    private Integer productLikeCount;

    /**
     * 相似度(只在推荐时调用)
     * 数据库不存在的字段不进行映射
     */
    @TableField(exist = false)
    private double similarity;
}
